package cn.pink.core.support.observer;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 事件 观察者
 * 使用此注解者为观察者
 * @Author: pink
 * @Date: 2022/6/29 21:58
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface EventObserver {
    /** 事件主类型 */
    int[] value();

    /** 子类型 下属多个属性 只能选一种 */
    /** 字符类型子事件 */
    String[] subStr() default {};
    /** Int类型子事件 */
    int[] subInt() default {};
    /** Long类型子事件 */
    long[] subLong() default {};
}
